#pragma warning(disable:4996)//忽略旧函数scanf执行可能造成的后果
#include<stdio.h>
#include<stdlib.h>//标准库头文件,包含了C语言标准库函数的定义,如:system
#include<conio.h>//(头文件,包含函数getch)
void main()
{
	system("color 3");//0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 
	//8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色
	char Key, CMoney;
	int password, password1 = 520, i = 1, a = 1000000;
	while (1)
	{
		do 
		{
			system("cls");//发出一个DOS(磁盘操作系统)命令
			printf("欢饮使用本银行ATM自助服务功能\n");
			printf("****************************\n");
			printf("*  请选择:                       *\n");
			printf("*  1.验证密码:                   *\n");
			printf("*  2.密码提款:                   *\n");
			printf("*  3.退出系统:                   *\n");
			printf("****************************\n");
			printf("请选择你要进行的操作:");
			Key = getch();//从控制台读取一个字符，但不显示在屏幕上,int(void)型函数
			//返回值:"读取的字符"
		} while (Key != '1' && Key != '2' && Key != '3');
		switch (Key) 
		{
		case '1':
			system("cls");//清屏
			do
			{
				i++;
				printf("需验证请输入密码:");
				scanf("%d", &password);
				if (password1 != password)
				{
					if (i > 3)
					{
						printf("输入三次密码错误！请按任意键退出...");
						getch();
						exit(0);//正常退出程序,exit(1)表示异常退出,这个1是返回给操作系统的;
						//exit(x)(x不为0)都表示异常退出
					}
					else
						puts("密码错误，请重新输入");
				}
			} while (password1 != password && i <= 3);
			printf("密码正确！请按任意键继续...");
			getch();
		case '2':
			do 
			{
				system("cls");//清屏
				printf("提款请输入密码:");
				scanf("%d", &password);
				if (password1 != password)
				{
					printf("请先正确输入密码，请按任意键退出...");
					goto A;//跳转至A处
				}
				else
				{
					printf("****************************\n");
					printf("*  请选择:                  *\n");
					printf("*  1.$1314                   *\n");
					printf("*  2.$1452                   *\n");
					printf("*  3.$334421                   *\n");
					printf("*  4.返回                   *\n");
					printf("****************************\n");
					printf("请选择您要取出的金额:");
					CMoney = getch();
				}
			} while (CMoney != '1' && CMoney != '2' && CMoney != '3' && CMoney != '4');
			switch (CMoney)
			{
			case '1':
				system("cls");
				a -= 1314;//a=a-1314相当于a-=1314
				printf("****************************\n");
				printf("*  您取出$1314！                  *\n");
				printf("*  您的账户余额为:$%d.          *\n",a);
				printf("*  感谢您的使用，欢迎下次光临！  *\n");
				printf("*  请按任意键退出系统...         *\n");
				printf("****************************\n");
				getch();
				break;
			case '2':
				system("cls");
				a -= 1452;//a=a-1452相当于a-=1452
				printf("****************************\n");
				printf("*  您取出$1452！                  *\n");
				printf("*  您的账户余额为:$%d.          *\n", a);
				printf("*  感谢您的使用，欢迎下次光临！  *\n");
				printf("*  请按任意键退出系统...         *\n");
				printf("****************************\n");
				getch();
				break;
			case '3':
				system("cls");
				a -= 334421;//a=a-334421相当于a-=334421
				printf("****************************\n");
				printf("*  您取出$334421！                  *\n");
				printf("*  您的账户余额为:$%d.          *\n", a);
				printf("*  感谢您的使用，欢迎下次光临！  *\n");
				printf("*  请按任意键退出系统...         *\n");
				printf("****************************\n");
				getch();
				break;
			case '4':
				break;
			}
			break;
		case '3':
			system("cls");
			printf("\n");
			printf("****************************\n");
			printf("*  感谢您的使用!          *\n");
			printf("*  欢迎下次光临！         *\n");
			printf("****************************\n");
			getch();
			break;
		}
A:		break;
	}
}
